using Microsoft.Xna.Framework;

namespace Rocuna.Controls.Interfaces
{
    /// <summary>
    /// Interface to represent surface based elements.
    /// </summary>
    public interface ISurface
    {
        /// <summary>
        /// Determines whether the instance contains the specified point.
        /// </summary>
        /// <param name="position">The position.</param>
        /// <returns>
        ///   <c>true</c> if the instance contains the specified point; otherwise, <c>false</c>.
        /// </returns>
        bool Contains(Vector2 position);

        /// <summary>
        /// Determines whether the instance contains the specified x and y.
        /// </summary>
        /// <param name="x">The x.</param>
        /// <param name="y">The y.</param>
        /// <returns>
        ///   <c>true</c> if the instance contains the specified x and y; otherwise, <c>false</c>.
        /// </returns>
        bool Contains(float x, float y);

        /// <summary>
        /// Converting to rectangle.
        /// </summary>
        /// <returns></returns>
        Rectangle ToRectangle();
    }
}